package cn.fuxi2022.commons.redis.service;

import org.springframework.stereotype.Service;

@Service
public interface CaptchaService {
    /**
     * 检查手机号发送次数常量
     */
    final String CHECK_PHONE_KEY = "shop:user:phone:check:%s";

    /**
     * 保存手机号对应验证码常量
     */
    String CAPTCHA_PHONE_KEY = "shop:user:phone:captcha:%s";

    /**
     * 判断当前手机号获取验证码次数是否大于5
     *
     * @param phone 手机号
     * @return 是true，否false（次数会自动加1）
     */
    boolean checkPhoneCount(String phone);

    /**
     * 生成验证码，并将验证码存储进reids，有效时间60秒
     * @param phone 手机号
     * @return ""表示已经生成了验证码，不再生成，否则返回6为验证码
     */
    String saveCaptcha(String phone);

    /**
     * 将验证码从reids取出，判断是否正确
     * @param userCaptcha 用户输入的验证码
     * @param phone 手机号
     * @return  true正确 false错误
     */
    boolean checkCaptcha(String userCaptcha, String phone);

}